perm filename BLOCKS.NOT[W78,JMC]1 blob sn#328931 filedate 1978-01-19 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	1. Towers of blocks, towers as objects
C00008 ENDMK
C⊗;
1. Towers of blocks, towers as objects

2. Existence of towers vs. their constructibility.
axiomatize existence of towers as maps from number segments to blocks
axiomatizing the necessary set theory.

3. Sequence solitaire

4. Temporo-spatial patterns

5. Hard questions about blocks
	a. for what purpose was an action done
	b. what if ...

6. predicates and functions

s' = move(x,y,s)

on(x,y,s)
pile(x,y) - the tower consisting of x on top of y

above(x,y,s)
support(x,s)
cover(x,s)
allcover(x,s)
blocks(s)
blockstructure(s)
accomplishes(program, propositional fluent, s)
nth(tower,n,s) or perhaps nth(tower,n) where tower is regarded abstractly.
onable(x,y) - block x may be placed on block y.  allows Tower of Hanoi problem
and distinguishing the existence of towers from their attainability.

7. reification - what things should be objects

8. completeness of blocks axiomatization
	completeness with some kind of circumscriptive induction?

9. Queries
	a. Should we identify blocks and places?
	b. What's the first step towards geometry?
	c. Can we get that blocks with distinct names are different
unless the contrary follows out of some kind of circumscriptive
induction?

10. on(x,y) as a fluent.  holds(on(x,y),s)

11. equality and equivalence for states

12.  old-fashioned model in which we need only prove ∃s.on(A,B,s).

13. Prove general theorems - law of conservation of blocks.
Minimum and maximum numbers of steps to accomplish a change.
With three places to build towers and no restrictions on on(x,y,s),
any legal configuration consistent with the conservation law can
be realized.

14. knowledge of blocks.  What can he do - taking into account his
knowledge or lack thereof and methods of acquiring knowledge?

15. Several actors.  What can several robots do in co-operation
or competition?

16. Correctness of algorithms for building towers.  Naming such algorithms
comes first perhaps?

17. Each block has its name on it or the place it belongs.

Exercises: axiomatize a concept described in English.

18. patterns in time and space

19. Introduce constants to represent towers and equivalence
classes of situations.  Make attachments.

20. Partitioning.  We would like to be able to update a position in
a number of steps that does not grow with the number of objects that
don't change in the updating.  Do we have to invent some way of
partitioning the objects into groups
 so that no event in one partition,
not going out of it can affect the others,
 or can we do it using quantification
merely over the unchanged objects?  It seems the latter will do.

21. We make the blocks all different by writing 0#1 ∧ c1(A)=0
∧ c2(A)=0 ∧ c3(A)=0 ∧ c1(B)=0 ∧ c2(B)=0 ∧ c3(B)=1, etc.

Yet easier:
P1(A)∧P2(A)∧P3(A) ∧ P1(B)∧P2(B)∧¬P3(B) ∧ P1(C)∧¬P2(C)∧P3(C) ∧
P1(D)∧¬P2(D)∧¬P3(D) ∧ ¬P1(Table)
The break-even  point is 6 objects.

If we have numbers, known to be all different, we can just say
index A = 1 ∧ index B = 2 ∧ index C = 3 ∧ index D = 4 ∧ index Table = 5

Ideally we would like a logical macro that would allow saying
distinct(A,B,C,D,Table).

22. pile(A,B) denotes an abstract tower built from A and B.  We
also have pile(A,pile(B,C)).  Such an entity is called an abstract
tower.  We have a predicate exists(tower,s) and also buildable(tower,s).
A tower has a top(tower) and rest(tower), and we have

buildable(tower,s) ≡ exists(tower,s) ∨ ∃s1.(attainable s1 ∧ exists (rest tower,s1)
∧ clear(rest tower,s1) ∧ clear(top tower, s1))

bah humbug.